Robot control apparatus for monitoring load on robot

ABSTRACT

A robot control apparatus in which a load exerted on a driving system of a robot is detected to make it easy to judge a time for preventive maintenance or overhaul, and life of the robot driving system. A driving torque Ta outputted to the driving system is found by subtracting a torque which is spent in a motor itself for accelerating or decelerating a rotor from an output torque T of a motor M for driving each axis of the robot. Further, an average torque of the driving torque Ta and an average speed of an output shaft of the motor M are found and displayed. An average torque of an output torque of a speed reducer and an average speed of an output shaft of the speed reducer are obtained, and, based on these values, the life of the speed reducer is determined. Then a ratio of the determined life to a rated life is obtained and displayed. An actual load exerted on the driving system is monitored, so that the time for the preventive maintenance or overhaul, and life of the driving system is easily judged. Also, the life of the speed reducer is easily predicted.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a robot control apparatus formonitoring a load on a robot, in which a load exerted on a drivingmechanism of a robot is monitored and utilized for a life prediction anda preventive maintenance of the robot.

2. Description of the Related Art

A driving mechanism of a robot usually employs mechanical elements suchas a bearing and a speed reducer. A load exerted on these mechanicalelements in the driving mechanism of the robot fluctuates unlike that ina general power unit. Therefore, it is difficult to predict the life of,and the time for the maintenance or overhaul of these mechanicalelements.

As a deterioration analysis through robot torque analysis, there isknown a method in which the change in the torque of a driving motor isused to predict a trouble from a pattern of the torque change. However,in this method, the torque including accelerating torque of a part suchas the rotor of a motor is used, for evaluating a predication and is notused to find a torque actually loaded on a driving system. In order topredict a degradation and life of mechanical elements of a drivingsystem of a robot, it is necessary to find a torque actually exerted onmechanical elements of a driving system. Furthermore, in this method, apattern of an output torque of a motor is drawn using a plotter or thelike to evaluate the pattern, so that the state of the load cannot bemeasured in real time during robot operation.

Also known is a method of finding a load exerted on the motor bydetermining the driving torque of the motor and the square mean thereof.This method, however, is for finding the load on the motor itself andfor making a judgment to prevent the overheating and other troubles ofthe motor by averaging the power of the motor using the square mean andby comparing the average value and the rated torque of the motor.

Also, there is a method of finding the disturbance torque exerted on thedriving system and arms from the driving current of the motor, which is,however, intended to estimate a sudden disturbance, and not intended tofind the load torque of the driving system.

As described above, methods of prior art are not intended to find a loadexerted on each part of a driving system nor suited for obtaining thedata for a preventive maintenance or overhaul of each part of thedriving system and for judging the life thereof. These methods are notfor detecting a torque exerted on the driving system, and therefore theload torque exerted on the driving system has been estimated byoperators based on their experience.

SUMMARY OF INVENTION

An object of the present invention is to detect a load exerted on thedriving system of a robot, thereby making it easy to make judgment onthe time for the preventive maintenance or overhaul and on the life ofthe robot driving system.

A robot control apparatus of the present invention comprises: a motorhaving an output shaft connected to the driving mechanism of the robot;a speed detection means for detecting a rotational angular speed of themotor; an acceleration calculation means for finding the rotationalangular acceleration of the motor based on the rotational angular speed;a driving torque calculation means for calculating a driving torqueoutputted from the motor output shaft using the angular speed, theangular acceleration and a driving current of the motor by subtracting atorque spent inside the motor from a torque generated by the motor; anda display means for displaying said calculated driving torque. As thetorque actually exerted on the driving system of the robot is displayed,the maintenance timing and life of the driving system can be judgedcorrectly.

The robot control apparatus further comprises a means for finding anaverage driving torque based on a motor revolution speed and thecalculated driving torque, and the average driving torque is displayed.

The robot control apparatus further comprises: a sampling means forsampling the motor revolution speed and the motor driving current foreach predetermined period during the operation of each shaft of therobot driving mechanism; a means for calculating an average revolutionspeed of the motor at each sampling time based on the motor revolutionspeed sampled by the sampling means; a means for counting the number oftimes of sampling made until each sampling time; a means for finding atotal operating period of time during which the shaft is in operation bymultiplying the counted number of times of sampling by a samplingperiod; and a means for finding an average driving torque at eachsampling time using the motor revolution speed, the driving torqueobtained by the driving torque calculation means, an average drivingtorque obtained at an immediately preceding sampling time, the averagerevolution speed, the total operating period of time and the samplingperiod. The average driving torque is displayed by the display means.

The robot control apparatus further comprises a means for finding anaverage torque and an average revolution speed of on output shaft of thespeed reducer based on the average driving torque, the averagerevolution speed and a reduction ratio of the speed reducer. The averagetorque and the average revolution speed of the output shaft of the speedreducer are displayed by the display means.

The robot control apparatus further comprises: a means for finding arated life period of said speed reducer based on a rated torque and arated revolution speed of the speed reducer, and the average torque andthe average revolution speed of the output shaft of the speed reducer;and a means for finding a rated life ratio by dividing the totaloperation period by the rated life period. The rated life ratio isdisplayed by the display means.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an illustrative view for explaining the principle of operationof the present invention;

FIG. 2 is a block diagram of a robot control apparatus according to anembodiment of the present invention;

FIG. 3 is part of a flow chart of a monitor processing to be executed bya CPU of the robot control apparatus shown in FIG. 2; and

FIG. 4 is the continuation of the flow chart of FIG. 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, the principle of operation of a first axis of arobot arm driving system in one embodiment of the present invention willbe explained. In FIG. 1, reference code M designates a servomotor fordriving the above-mentioned first axis, and an encoder 20 detects therotated position and revolution speed of the servomotor M. A gear 22 isfixedly mounted on an output shaft (rotor shaft) 21 of the servomotor Mand engages with a gear 23 fixedly mounted on an input shaft 25 of aspeed reducer 24. An arm 27 is fixedly mounted on output shaft 26 of thespeed reducer 24.

With this arrangement, the speed reducer 24 is driven through theone-stage gear transmission mechanism by driving the servomotor M, sothat the arm is driven by the output shaft 26 of the speed reducer 24.In this case, the reduction ratio of the gear 22 to the gear 23 is 1:1.

A torque T generated by the servomotor M is calculated by multiplying adriving current I of the servomotor by a torque constant Kt, but thistorque is not directly outputted to the output shaft 21 of the motor.The torque T includes an acceleration torque for accelerating the rotoritself of the motor, and the torque obtained by subtracting the torquespent inside the motor from the torque T is a driving torque Ta to beoutputted from the output shaft 21. When a loss torque coefficient(viscous torque coefficient) of a part which is proportional to therevolution speed of the motor, regarding bearings, oil seals, etc.inside the motor is given as Kv, a friction torque (constant portindependent of revolution speed) inside the motor as Kc, a rotor inertiaof the motor as Jr, an inertia of the driving system as Jd, a rotationalangular velocity as V, and a rotational angular acceleration as α, thedriving torque Ta outputted from the output shaft 21 of the motor isobtained by the following equation (1):

    Ta=Kt.I-(Jr+Jd) α-Kv.V-Kc                            (1)

The driving current I is known from a current actually flowing throughthe motor detected and fed back by a current control section in an axiscontrol circuit, or from a current command obtained in the axis controlcircuit. The angular velocity V of the motor is known from a velocityfeedback signal from the encoder 20. Also, the angular acceleration α ofthe motor is obtained by differentiating the angular velocity V.Further, the loss torque coefficient Kv, the friction torque Kc insidethe motor, the rotor inertia Jr of the motor and the inertia Jd of thedriving system are values substantially dependent on the structure ofthe motor and robot, so that they can be determined by calculation orexperiment. Thus, after determining the loss torque coefficient Kv, thefriction torque Kc inside the motor, the rotor inertia Jr of the motorand the inertia Jd of the driving system and setting them in the controlapparatus, by sequentially sampling the driving current I and velocity Vof the motor M to obtain the angular acceleration α, and by performingthe calculation according to the above-mentioned equation (1), thedriving torque Ta outputted from the output shaft 21 of the motor M isderived at each sampling time, to thereby obtain a load actually exertedon the driving system.

An average torque Tmp of the driving torque Ta corresponding to the loadon the driving system is derived from the following equation (2):##EQU1##

In the equation (2), Δt represents a sampling period; Ta(1), Ta(2), . .. represent driving torques derived from the above-mentioned equation(1) at each sampling time; and n(1), n(2), . . . represent motorvelocities (the angular velocity V of the motor expressed in terms ofnumber of revolutions) at each sampling time. In the above equation (2),p is a constant dependent on the structure of a driving system, and whenthe structure of the driving system is based on ball bearings, p isdetermined to be 3, and when it is based on roller bearings, p isdetermined to be 10/3. That is, the average torque Tmp is determined byfinding cubic mean or 10/3 power mean of the driving torque.

An average revolution speed nm of the output shaft 21 of the motor M,that is, an input shaft of a driving system is derived from thefollowing equation (3): ##EQU2##

However, performing the calculation according to the above-mentionedequations (2) and (3) to find the average torque Tmp of loads on thedriving system at each sampling time and the average revolution speed nmof the input shaft of the driving system will become a burden on aprocessor of a control system performing such calculation. Therefore, inthe present invention, by the use of the average speed nm (x-1) and theaverage torque Tmp (x-1) obtained at a sampling time (x-1) preceding theabove-mentioned sampling time (x) by one period, and the motor speed n(x) and the driving torque Ta (x) obtained at the above-mentionedsampling time (x), the average speed nm (x) and the average torque Tmp(x) at the above-mentioned sampling time (x) are derived from thefollowing recurrence equations (4) and (5): ##EQU3##

In the above equations (4) and (5), N(x-1) represents the total numberof sampling at the sampling time (x-1) preceding the above-mentionedsampling time (x) by one period.

Further, in this embodiment, the rated life ratio of the speed reducer24 is found and displayed. The life of the speed reducer can be judgedon the basis of the average torque of loads on the output shaft. In thisembodiment, an average torque Tomp of an output torque To of the outputshaft 26 of the speed reducer 24 is found by multiplying the averagetorque Tmp of the output shaft 21 of the motor M found in theabove-mentioned equation (2) or (5) by a reduction ratio R of the speedreducer 24 and by a speed reduction efficiency η as shown in theequation (6):

    Tomp=Tmp×R×η                               (6)

Also, an average revolution speed nm of the output shaft 26 of the speedreducer 24 is found by multiplying the average speed nm of the motor Mfound in the equation (3) or (4) by an inverse number (1/R) of thereduction ratio; and then based on a rated life period of time K (hour),a rated torque Tr (Kgf.m) and a rated number of revolutions nr (rpm) ofthe speed reducer 24, a life period of time Lorp (hour) of the speedreducer is found by performing the calculation using the followingequation (7): ##EQU4##

Also, a total operation period of time Q (=N(x)×Δt) of the speed reducer24 is found (with fractions omitted) in a time unit Q' (hour), and thenthe total operation period of time Q' is divided by the life Lorp of theabove-mentioned speed reducer to find a rated life ratio Ror (=Q'/Lorp),which is then displayed.

FIG. 2 is a block diagram of a robot control apparatus according to oneembodiment of the present invention.

A control device 10 includes a processor (CPU) 11, which is connectedthrough a bus 18 to a ROM 12 for storing a control program, a RAM 13 fortemporarily storage of data, a nonvolatile memory 14 for storinginstruction data to a robot and data of robot operating state, etc.,which will be described later, a CRT/MDI 15 for inputting various setvalue data of the robot and for displaying such set data and theoperating state, a teaching operation panel 16 with a display forteaching an operation to the robot, and axis control circuits 17-1through 17-L for driving and controlling various axes of the robot. Theaxis control circuits 17-1 through 17-L are respectively connectedthrough respective servo amplifiers 19-1 through 19-L to servomotors M1through ML, which respectively drive various axes of the robot, in orderto receive the feedback signals of position and speed from respectiveencoders 20-1 through 20-L, which detect the rotational position andrevolution speed of the servomotors M1 through ML.

FIGS. 3 and 4 show a flow chart of a monitor processing with respect tothe axis executed by the CPU 11 in one embodiment of the presentinvention.

Before starting the operation of a robot, an operator operates theteaching operation panel 16 or the CRT/MDI 15 to set the torque constantKt of a servomotor, the internal loss torque coefficient (viscous torquecoefficient) Kv of the motor, the internal friction torque Kc of themotor, the rated torque Tr of a speed reducer, the rated number ofrevolutions nr, the reduction ratio R, and the rated life K. Then, whenthe operation of the robot is started, the processor 11 of the robotcontrol apparatus 10 executes a processing shown in FIGS. 3 and 4 foreach predetermined sampling period and displays the driving torque Taand the like outputted from the output shaft of the motor on a displayof the teaching operation panel 16 or on a CRT display unit of theCRT/MDI 15.

First, it is judged whether an operation command has been outputted ornot with respect to an axis of a driving mechanism to be monitored (stepS1). In this embodiment, "1" has been set for a flag F1 with respect toan axis to which the operation command has been outputted. Thus, it isjudged whether the flag F1 has been set at "1" or not, and if not, theprocessing for the present period is ended immediately. When the flag F1has been set at "1", the motor driving current (current instruction orcurrent feedback value) I, and the motor velocity (velocity feedbackvalue from the encoder 20) V are read (step S2). Then, by subtractingthe motor velocity read for the previous period from the motor velocityV read-for the present period, the motor acceleration a is found (stepS3). Then, by performing the calculation according to the equation (1),the driving torque Ta (x) of the motor output shaft for the presentsampling period (x) is obtained, and at the same time, the motor angularvelocity V thus read is converted into the speed n (x) (rpm) in thenumber of revolutions (step S4).

Then, by the use of an average driving torque Tm (10/3) (x-1) for rollerbearings, an average driving torque Tm3 (x-1) for ball bearings, anaverage revolution speed nm (x-1), and the number of times of sampling N(x-1), all of which have been found at the preceding sampling time(preceded by one period) and stored in a register provided in thenonvolatile memory 14, and also by the use of the driving torque Ta (x)and the revolution speed n (x) for the present which have been found atstep S4, the calculations by the formals (4) and (5) are performed tofind an average revolution speed nm (x), average driving torques Tm(10/3) (x) and Tm3 (x) up to the present sampling period (step S5). Atthis stage, in Tmp (x) according to the equation (5), P=10/3 (when thestructure of the driving mechanism is based on roller bearings), and P=3(when the structure of the driving mechanism based on ball bearings) areobtained to determine the average driving torques Tm (10/3) (x) and Tm3(x), respectively.

Then, the average driving torques Tm (10/3) (x) and Tm3 (x), and theaverage revolution speed nm (x) all of which have been found this timeat step S5 are stored in respective registers storing the averagedriving torque Tm (10/3) (x-1) for roller bearings, the average drivingtorque Tm3 (x-1) for ball bearings, and the average revolution speed nm(x-1), all of which have been obtained for the preceding sampling period(step S6).

Further, the value of a register storing a maximum 10 value Tamax ofdriving torque is compared with the driving torque Ta (x) found in stepS4 (step S7), and only when the driving torque Ta (x) is larger than thevalue of Tamax, the driving torque Ta (x) is stored in the registerstoring the maximum value Tamax of driving torque. Further, the value ofa Date (T) register which is provided in the nonvolatile memory 14 andstores the date of a sampling time when the maximum driving torque isgenerated, is replaced by a current date read from a clock (not shown)provided in the control device (step S8), and the processing proceeds tostep S9. Also, when the value of the register in step S7 is equal to ormore than the driving torque Ta (x) found presently, the processingproceeds to step S9 without executing the processing of step 8.

Further, in step S9, the value of a register storing a maximumrevolution speed n max is compared with the motor revolution speed n (x)at the present sampling time obtained in step S4, and only when themotor revolution speed n (x) is larger than the value of the register,the value of the register storing the maximum revolution speed n max isreplaced by the motor revolution speed n (x), and, in the same manner asdescribed above, the value of a Date (n) register storing the maximumspeed of the motor is replaced by the date of the present sampling time.

Then, "1" is added to a counter N (x-1) for counting the number of timesof sampling (step S11), and the total operation period of time Q isfound by multiplying the value of the above-mentioned counter by thesampling period Δt (step 12). Further, this total operation time Q isconverted into operation time Q' (with fraction omitted) in an unit ofhour.

Then, the average output torque Tomp of the speed reducer 24 is found bymultiplying the average driving torque stored in the register in step S6by the reduction ratio R and the speed reduction efficiency η of thespeed reducer. In this embodiment, an RV speed reducer is adopted as thespeed reducer, which is based on roller bearings, so that P isdetermined to be 10/3. The average output torque Tom (10/3) (=Tm (10/3)(x)×R×η) is found by multiplying the average driving torque Tmp (x)=Tm(10/3) (x) by the reduction ratio R and the speed reduction efficiencyη. Also, the average revolution speed nom (=nm (x)×1/R) of the outputshaft 26 of the speed reducer 24 is found by multiplying the averagerevolution speed nm (x) stored in step S6 by the inverse number of thereduction ratio R (step 14), and by the use of the average output torqueTom (10/3) and the average revolution speed nom thus found, thecalculation according to the equation (7) is performed (with P given as10/3) to find the life period of time Lot (10/3) of the speed reducer(step S15). Then, the rated life ratio Rot (=Q'/Lor (10/3)) is found bydividing the total operation period of time Q' obtained in step S13 bythe life Lot (10/3) of the above-mentioned speed reducer, and the valuethus found is stored in a register (step S16). Then, displayed on thescreen of the CRT display unit 15 or on the display of the teachingoperation panel 16 are the driving torque Ta (x) outputted from themotor shaft of the motor, the revolution speed n (x), the averagedriving torque Tm (10/3) (x) for roller bearings, the average drivingtorque Tm3 (x) for ball bearings, the average revolution speed nm (x),the total operation 10 period of time Q, the maximum driving torqueTamax and its date Date (T), the maximum revolution speed nmax and itsdate Date (n), the life period of time Lot (10/3) of the speed reducer,and the rated life ratio Ror of the speed reducer, all of which havebeen found in the above-mentioned processings and stored in respectiveregisters in the nonvolatile memory 14.

In this embodiment, the speed reducer is exemplified by the RV speedreducer whose constitution is based on roller bearings; however, in thecase of a speed reducer whose constitution is based on ball bearings,the average output torque Tom3 (x) of the speed reducer will be obtainedby using the average driving torque Tm3 (x) for ball bearings, thereduction ratio R and the speed reduction efficiency η at step S14. Thecalculation according to the equation (7) will be preformed to find thelife Lot3 of the speed reducer, using the average output torque Tom3 (x)and the average revolution speed nom. Further, the rated life ratio Rotwill be obtained, using thus obtained the life Lot3 at step S16.

According to the present invention, a torque actually outputted to thedriving system of a robot is monitored. Particularly, a load exerted onthe driving system is obtained and monitored by subtracting a torquewhich is spent in a motor itself for accelerating or decelerating arotor from an output torque of the motor for driving each axis of arobot. Thus, the judgments for the time for the preventive maintenanceor overhaul, and the length of life of a driving system is made easier.Also, the life of a speed reducer in use is displayed as a rated liferatio, so that the life of the speed reducer is easily predicted.

We claim:
 1. A robot control apparatus for monitoring a load exerted ona robot comprising:a motor having an output shaft connected to a drivingmechanism of said robot; speed detection means for detecting arotational angular speed of said motor; acceleration calculation meansfor determining a rotational angular acceleration of said motor based onsaid rotational angular speed; driving torque calculation means forcalculating a driving torque outputted from said motor output shaft bydetermining a torque spent inside the motor using said rotationalangular speed and said rotational angular acceleration, by determining atorque generated by the motor using a driving current of said motor andby subtracting said torque spent inside the motor from said torquegenerated by said motor; and display means for displaying saidcalculated driving torque.
 2. A robot control apparatus according toclaim 1, further comprising means for determining an average drivingtorque of said motor output shaft based on the motor rotational angularspeed and said driving torque, wherein said display means furtherdisplays said average driving torque.
 3. A robot control apparatusaccording to claim 1, further comprising:sampling means for sampling themotor rotational angular speed and the motor driving current at eachpredetermined period during an operation of each shaft of said robotdriving mechanism; means for calculating an average rotational speed ofthe motor at each said predetermined period based on said motorrotational angular speed sampled by said sampling means; means forcounting a number of times of said sampling until each saidpredetermined period; means for determining a total operating period oftime during which said shaft is in operation by multiplying said countednumber of times of sampling by a sampling period; and means fordetermining an average driving torque at each said predetermined periodusing said motor rotational angular speed, said driving torque obtainedby said driving torque calculation means, an average driving torqueobtained at an immediately preceding said predetermined period, saidaverage rotational speed, the total operating period of time and saidpredetermined period, wherein said display means further displays saidaverage driving torque.
 4. A robot control apparatus according to claim3, wherein said sampling means samples a motor driving current based ona move command to each shaft of said driving mechanism according to anoperation program of said robot.
 5. A robot control apparatus accordingto claim 3, wherein said driving mechanism comprises a speed reducer,said robot control apparatus further comprises means for determining anaverage torque and an average revolution speed of an output shaft ofsaid speed reducer based on said average driving torque, said averagerotational speed of said motor and a reduction ratio of said speedreducer, and said display means further displays the average torque andthe average revolution speed of the output shaft of said speed reducer.6. A robot control apparatus according to claim 5, further comprising:means for determining a rated life period of said speed reducer based ona rated torque and a rated revolution speed of said speed reducer, andsaid average torque and said average revolution speed of the outputshaft of said speed reducer; and means for determining a rated liferatio by dividing said total operation period by said rated life period,wherein said display means further displays said rated life ratio.
 7. Arobot control apparatus according to claim 2, wherein said means fordetermining the average driving torque Tm obtains a cubic mean of saiddriving torque Ta when a structure of said driving system is based onball bearings, and determines a 10/3 power mean of said driving torqueTa when the structure of said driving system is based on rollerbearings, and wherein said display means further displays said cubicmean and 10/3 power mean.
 8. A robot control apparatus as set forth inclaim 1, further comprising memory means for storing maximum values ofsaid driving torque and said motor rotational speed, wherein the maximumvalues stored in said memory means are updated when said driving torqueand said motor rotational speed are larger than the respective maximumvalues stored in said memory means, and said display means furtherdisplays said maximum driving torque and said maximum motor rotationalspeed.